///////////////////////////////////////////////////////////
//  StringData.h
//  Implementation of the Class StringData
//  Created on:      19-Aug-2013 10:16:19 PM
//  Original author: Jakkaphan Aiemcharoenjit
///////////////////////////////////////////////////////////

#if !defined(EA_83632834_EBB1_4567_8D40_8AEC7768AE33__INCLUDED_)
#define EA_83632834_EBB1_4567_8D40_8AEC7768AE33__INCLUDED_

#include "../Interfaces/IString.h"

namespace Data
{
class StringData : public IString
{

public:
	StringData(const String_t& _value = _T(""));
	StringData(const StringData& anotherString);
	virtual ~StringData();
	virtual IData::DataType GetDataType() const;
	virtual IObject::ObjectType GetType() const;
	virtual String_t GetValue() const;
	virtual void SetValue(const String_t& _value);
	virtual IObject* Clone();
	virtual String_t ToString() const;
	virtual String_t ToXML();

private:
	IObject::ObjectType m_type;
	IData::DataType m_dataType;
	String_t m_value;

};
}
#endif // !defined(EA_83632834_EBB1_4567_8D40_8AEC7768AE33__INCLUDED_)
